# -*- coding: utf-8 -*-  
import os
import argparse

#引入飞桨生态的语音和GAN依赖
from PaddleTools.TTS import TTSExecutor
from PaddleTools.GAN import wav2lip

#一旦不再使用即释放内存垃圾，=1.0 垃圾占用内存大小达到10G时，释放内存垃圾
FLAGS_eager_delete_tensor_gb=0.0
#启用快速垃圾回收策略，不等待cuda kernel 结束，直接释放显存
FLAGS_fast_eager_deletion_mode=1
#该环境变量设置只占用0%的显存
FLAGS_fraction_of_gpu_memory_to_use=0


parser = argparse.ArgumentParser()
parser.add_argument('--human', type=str,default='./file/input/test.mp4', help='human video')
parser.add_argument('--output', type=str, default='./file/output/output.mp4', help='output video')
parser.add_argument('--text', type=str,default='一起来玩啊', help='human video')

if __name__ == '__main__':
    args = parser.parse_args()
    TTS = TTSExecutor('default.yaml') #PaddleSpeech语音合成模块
    wavfile = TTS.run(text=args.text,output='output.wav') #合成音频
    video = wav2lip(args.human,wavfile,args.output) #将音频合成到唇形视频
    # os.remove(wavfile) #删除临时的音频文件
    print('视频生成完毕，输出路径为：{}'.format(args.output))